package jmine.tec.di.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Uma propriedade injetavel que vem da bean factory
 * 
 * @author takeshi
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface InjectedProperty {

    /**
     * If its a mandatory property, in witch case the container might throw an Exception if a bean with the given name cannot be found or
     * has incompatible type. Defaults to <code>false</code>.
     */
    boolean required() default false;

    /**
     * The bean name on the container. Defaults to the bean property.
     */
    String beanName() default "";
}
